Automatic detection and configuration of faults within an irrigation system

ABSTRACT

The disclosure extends to apparatuses, methods, systems, and computer program products for generating and optimizing irrigation protocols. The disclosure also extends to a system and method for the detection of faults or deviations from a baseline configuration in an irrigation system during operation in accordance with the disclosed methods, systems, and computer program products for optimizing water usage in growing plants for yard and crops.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 61/841,828, filed on Jul. 1, 2013, and U.S. ProvisionalPatent Application No. 61/924,154, filed on Jan. 6, 2014, which arehereby incorporated by reference herein in their entireties, includingbut not limited to those portions that specifically appear hereinafter,the incorporation by reference being made with the following exception:In the event that any portion of the above-referenced applications isinconsistent with this application, this application supersedes saidabove-referenced applications.

This application is a continuation-in-part of co-pending U.S. patentapplication Ser. No. 14/315,264, filed Jun. 25, 2014, entitled“COMPENSATING FOR MUNICIPAL RESTRICTIONS WITHIN IRRIGATION PROTOCOLS,”and this application is also a continuation-in-part of co-pending U.S.patent application Ser. No. 14/315,267, filed Jun. 25, 2014, entitled“BACKUP WATERING INSTRUCTIONS AND IRRIGATION PROTOCOLS WHEN CONNECTIONTO A NETWORK IS LOST,” which are hereby incorporated by reference hereinin their entireties, including but not limited to those portions thatspecifically appear hereinafter, the incorporation by reference beingmade with the following exception: In the event that any portion of theabove-referenced applications is inconsistent with this application,this application supersedes said portion of said above-referencedapplications.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable.

BACKGROUND

With the increased desire for water conservation while maintaininghealthy yard and crops, it has become important to use the advances intechnology and communication systems to provide efficient use of waterresources. Many irrigation systems and irrigation hardware are crude orunduly complicated resulting in the existing systems being used atnon-optimal levels.

What is needed are methods, systems, and computer program implementedproducts for regulating irrigation in areas that are predictable andoften over watered because caretakers and/or older irrigations systemsare not responsive enough to effectively conserve water whilemaintaining aesthetically pleasing or healthy landscapes. The disclosureaddresses the above needs by providing methods, systems, and computerprogram implemented products for regulating the use of water over acomputer network by generating irrigation protocols and sending thoseprotocols over the computer network.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive implementations of the disclosure aredescribed with reference to the following figures, wherein likereference numerals refer to like parts throughout the various viewsunless otherwise specified. Advantages of the disclosure will becomebetter understood with regard to the following description andaccompanying drawings where:

FIG. 1 illustrates an embodiment of a control unit in accordance withthe teachings and principles of the disclosure;

FIG. 2 illustrates an overhead view of a landscaped yard surrounding ahouse with a zoned irrigation system in accordance with the teachingsand principles of the disclosure;

FIG. 3 illustrates a schematic diagram of an optimized irrigationcontrol system that communicates over network in accordance with theteachings and principles of the disclosure;

FIG. 4 illustrates a schematic diagram of a crop root zone that will beoptimally watered by an irrigation system in accordance with theteachings and principles of the disclosure;

FIG. 5 illustrates a front view of an embodiment of a control unit inaccordance with the teachings and principles of the disclosure;

FIG. 6 illustrates a phantom line first side view of an embodiment of acontrol unit in accordance with the teachings and principles of thedisclosure;

FIG. 7 a phantom line second side view of an embodiment of a controlunit in accordance with the teachings and principles of the disclosure;

FIG. 8 illustrates a block diagram of an example computing device inaccordance with the teachings and principles of the disclosure;

FIG. 9 illustrates an embodiment of a control unit and adaptor inaccordance with the teachings and principles of the disclosure;

FIG. 10 illustrates a separated view of a control unit and adaptor inaccordance with the teachings and principles of the disclosure;

FIG. 11 illustrates a rear view of an implementation of a control unitin accordance with the teachings and principles of the disclosure;

FIG. 12 illustrates a separated view of an implementation of an adaptorin accordance with the teachings and principles of the disclosure;

FIG. 13 illustrates a separated view of an implementation of an adaptorwired to components of an irrigation system in accordance with theteachings and principles of the disclosure;

FIG. 14 illustrates an exploded view of an implementation of acontroller having an annular user interface in accordance with theteachings and principles of the disclosure;

FIG. 15 illustrates an exploded view of an implementation of an annularuser interface in accordance with the teachings and principles of thedisclosure;

FIG. 16 illustrates an exploded view of an implementation of an annularuser interface and supporting circuitry in accordance with the teachingsand principles of the disclosure;

FIG. 17 illustrates a detailed view of an embodiment of a user inputconsistent with the features of the disclosure.

FIG. 18 illustrates an implementation of a method for initializingoptimal irrigation in an irrigation system having a controllerconfigured to be connected to an irrigation server over a computernetwork in accordance with the teachings and principles of thedisclosure;

FIG. 19 illustrates an implementation of a method for providing optimalirrigation in an irrigation system having a controller configured to beconnected to an irrigation server over a computer network in accordancewith the teachings and principles of the disclosure;

FIG. 20 illustrates an implementation of an irrigation controller with astacked control unit, expansion module, and irrigation adaptor inaccordance with the teachings and principles of the disclosure;

FIG. 21 illustrates an exploded view of an implementation of anirrigation controller with a stacked control unit, expansion module, andirrigation adaptor in accordance with the teachings and principles ofthe disclosure;

FIG. 22 illustrates a method for developing a protocol for newly addedirrigation components that are controllable by a control unit inaccordance with the teachings and principles of the disclosure;

FIG. 23 illustrates a method for developing a protocol for newly addedirrigation components using a lookup table and user selection process inaccordance with the teachings and principles of the disclosure;

FIG. 24 illustrates a method for developing a protocol for a pluralityof newly added irrigation components in succession at startup inaccordance with the teachings and principles of the disclosure;

FIG. 25 illustrates an implementation of a method for automaticallydetecting faults within an irrigation system in accordance with theteachings and principles of the disclosure;

FIG. 26 illustrates an implementation of a method for automaticallydetecting faults within an irrigation system in accordance with theteachings and principles of the disclosure; and

FIG. 27 illustrates an implementation of a method for automaticallydetecting faults within an irrigation system in accordance with theteachings and principles of the disclosure.

DETAILED DESCRIPTION

The disclosure extends to apparatuses, methods, systems, and computerprogram products for optimizing water usage in growing plants for yardand crops. The disclosure also extends to apparatuses, methods, systems,and computer program implemented products for regulating the use ofwater over a computer network by generating irrigation protocols andsending those protocols over the computer network. The disclosurediscloses embodiments and implementation of improved control unitsoptimizing water use and additional environmental conditions. In thefollowing description of the disclosure, reference is made to theaccompanying drawings, which form a part hereof, and in which is shownby way of illustration specific implementations in which the disclosuremay be practiced. It is to be understood that other implementations maybe utilized and structural changes may be made without departing fromthe scope of the disclosure.

It will be appreciated that the disclosure also extends to methods,systems, and computer program products for smart watering utilizingup-to-date weather data, interpreting that weather data, and using thatinterpreted weather data to send irrigation protocols with computerimplemented instructions to a controller. The controller may beelectronically and directly connected to a plumbing system that may haveat least one electronically actuated control valve for controlling theflow of water through the plumbing system, where the controller may beconfigured for sending actuation signals to the at least one controlvalve thereby controlling water flow through the plumbing system in anefficient and elegant manner to effectively conserve water whilemaintaining aesthetically pleasing or healthy landscapes.

As used herein, the terms environment and environmental is used todenote influence-able areas and conditions that can be adjusted byoperable components of a system. For example, a landscape environmentcan be optimally irrigated or lit with operable components ofcorresponding systems such as sprinkler systems and lighting systems.

FIG. 1 illustrates and embodiment of an irrigation controller, alsoreferred to sometimes as a control unit, that may be used within asystem for executing irrigation protocols by causing operable irrigationcomponents to actuate in accordance to the irrigation protocol. As canbe seen in the figure, a control unit 10 may comprise a housing 12 and auser input 20. In an implementation the user input may have a generallycircular or annular form factor that is easily manipulated by a user toinput data and to provide responses to queries. As will be discussed inmore detail below, the user input may provide/receive a plurality ofinput movements, such as for example, rotation, speed of rotation, pushand click, click duration, double click, and the like. The control unit10 may further comprise an electronic visual display 14, either digitalor analog, for visually outputting information to a user. As illustratedin the figure, an embodiment may comprise a stackable configurationwherein the control unit 12 is configured to be stacked on to theirrigation adaptor 13 such that the control unit electronic connector ofthe control unit mates with a corresponding electronic connector of theirrigation adaptor

Additionally, it should be noted that an embodiment may comprise aplurality of visual outputs, and other components of the control unit10, such as the user input 20 may be configured to output visualinformation. Analog visual outputs may be provided by components such asbulbs and the like. Digital visual outputs may be provided by componentssuch as, liquid crystal displays, light emitting diodes,electro-luminescent devices, to name a few. In an embodiment, thecontrol unit 10 may further comprise an electronic audible device 16,either digital or analog, for audibly outputting information to a user.Additionally, it should be noted that an embodiment may comprise aplurality of audible outputs, and other components of the control unit10 may be configured to output audible information. Analog audibleoutputs may be provided by components such as speakers, mechanicalclicks, etc. Digital audible outputs may be provided by components suchas, piezo-electric circuits and speakers. It should also be appreciatedthat the housing 12 may be configured to be substantially weatherresistant such that it can be installed and used outdoors. It will beappreciated that the controller 10 may be electronically and directlyconnected to a plumbing system, such as an irrigation sprinkler system,that may have at least one electronically actuated control valve forcontrolling the flow of water through the plumbing system. Additionally,the controller 10 may be configured for sending actuation signals to theat least one control valve thereby controlling water flow through theplumbing system in an efficient and elegant manner to effectivelyconserve water while maintaining aesthetically pleasing or healthylandscapes. It should be understood that in an implementation, thecontroller 10 may further comprise memory for recording irrigationiteration data for a plurality of iterations after a plurality ofirrigation protocols have been executed. In an implementation, thecontroller 10 of a system and method may further record irrigationiteration data into memory in case communication with an irrigationserver is interrupted.

FIG. 2 illustrates an overhead view of a landscaped yard surrounding ahouse. As can be seen in the figure, the yard has been divided into aplurality of zones. For example, the figure is illustrated as having tenzones, but it will be appreciated that any number of zones may beimplemented by the disclosure. It will be appreciated that the number ofzones may be determined based on a number of factors, including soiltype, plant type, slope type, area to be irrigated, etc. which will helpdetermine the duration that needed for each zone. It will be appreciatedthat the controller and its zonal capacity may determine the number ofzones that may be irrigated. For example, a controller may have acapacity of eight, meaning that the controller can optimize eight zones(i.e., Zone 1-Zone 8). However, it will be appreciated that any zonalcapacity may be utilized by the disclosure.

In an implementation, each zone may have different watering needs. Eachzone may be associated with a certain control valve 115 that allowswater into the plumbing that services each area, which corresponds toeach zone. As can be seen in the figure, a zone may be a lawn area, agarden area, a tree area, a flower bed area, a shrub area, another planttype area, or any combination of the above. It will be appreciated thatzones may be designated using various factors. In an implementation,zones may be designated by the amount of shade an area gets. In animplementation, zones may be defined according to soil type, amount ofslope present, plant or crop type and the like. In some implementations,one or more zones may comprise drip systems, or one or more sprinklersystems, thereby providing alternative methods of delivering water to azone.

It will be appreciated, as illustrated in FIG. 2, that a landscape mayhave a complex mix of zones or zone types, with each zone havingseparate watering needs. Many current watering systems employ acontroller 110 for controlling the timing of the opening and closing ofthe valves within the plumbing system, such that each zone may bewatered separately. These controllers 110 or control systems usually runon low voltage platforms and control solenoid type valves that areeither completely open or completely closed by the actuation from acontrol signal. Often control systems may have a timing device to aid inthe water intervals and watering times. Controllers have remainedrelatively simple, but as disclosed herein below in more detail, moresophisticated controllers or systems will provide optimization of theamount of water used through networked connectivity and user interactionas initiated by the system.

FIG. 3 illustrates a schematic diagram of an optimized irrigationcontrol system 200 that communicates over network in order to benefitfrom user entered and crowd sourced irrigation related data stored andaccessed from a database 226. As illustrated in the figure, a system 200for providing automated irrigation may comprise a plumbing system, suchas a sprinkler system (all elements are not shown specifically, but thesystem is conceptualized in landscape 200), having at least oneelectronically actuated control valve 215. The system 200 may alsocomprise a controller 210 that may be electronically connected to or inelectronic communication with the control valve 215. The controller 210may have a display 211 or control panel and an input 255 for providinginformation to and receiving information from the user. The controller210 may comprise a display or a user interface 211 for allowing a userto enter commands that control the operation of the plumbing system. Thesystem 200 may also comprise a network interface 212 that may be inelectronic communication with the controller 210. The network interface212 may provide network 222 access to the controller 210. The system 200may further comprise an irrigation protocol server 225 providing a webbased user interface 231 on a display or computer 230. The system 200may comprise a database 226 that may comprise data such as weather data,location data, user data, operational historical data, and other datathat may be used in optimizing an irrigation protocol from an irrigationprotocol generator 228.

The system 200 may further comprise a rule/protocol generator 228 usingdata from a plurality of databases for generating an irrigationprotocol, wherein the generation of an irrigation protocol is initiatedin part in response to at least an input by a user. It should be notedthat the network 222 mentioned above could be a cloud-computing network,and/or the Internet, and/or part of a closed/private network withoutdeparting from the scope of the disclosure.

In an implementation, access may be granted to third party serviceproviders through worker terminals 234 that may connect to the systemthrough the network 222. The service providers may be granted pro-statuson the system and may be shown more options through a user interfacebecause of their knowledge and experience, for example, in landscaping,plumbing, and/or other experience. In an implementation, workerterminals may be a portable computing device such as portable computer,tablet, smart phone, PDA, and/or the like.

An additional feature of the system 200 may be to provide notices ornotifications to users of changes that impact their irrigation protocol.For example, an implementation may provide notice to a home owner/userthat its professional lawn service has made changes through a workerterminal 234. An implementation may provide a user the ability to ratifychanges made by others or to reject any changes.

In an implementation, an irrigation system 200 may comprise a pluralityof control valves 215, wherein each control valve corresponds to a zoneof irrigation.

In an implementation, user communication may be facilitated through amobile application on a mobile device configured for communicating withthe irrigation protocol server 225. One or more notifications may beprovided as push notifications to provide real time responsiveness fromthe users to the system 200.

The system 200 may further comprise an interval timer for controllingthe timing of when the notifications are sent to users or customers,such that users/customers are contacted at useful intervals. Forexample, the system 200 may initiate contact with a user afterpredetermined interval of time has passed for the modifications to theirrigation protocol to take effect in the landscape, for example inplants, shrubs, grass, trees and other landscape.

In an implementation, the notifications may ask the user to provideinformation or indicia regarding such things as: soil type of a zone,crop type of a zone, irrigation start time, time intervals during whichirrigation is occurring, the condition of each zone, or other types ofinformation or objective indicia.

Illustrated in FIG. 4 is an exemplary crop (grass) root zone showingroots in various soil types. Referring to FIG. 4, it will be appreciatedthat the optimization of the irrigation and plumbing system is toprovide the requisite water needed to maintain a healthy landscape andno more. Thus, the general understanding is that the amount of waterthat is lost during evapotranspiration per zone must be replenished ateach irrigation start and run time. It will be appreciated thatevapotranspiration is the amount of water lost from the sum oftranspiration and evaporation. The U.S. Geological Survey definesevapotranspiration as water lost to the atmosphere from the groundsurface, evaporation from the capillary fringe of the groundwater table,and the transpiration of groundwater by plants whose roots tap thecapillary fringe of the groundwater table. Evapotranspiration may bedefined as loss of water from the soil both by evaporation from the soilsurface and by transpiration from the leaves of the plants growing onit. It will be appreciated and understood that factors that affect therate of evapotranspiration include the amount of solar radiation,atmospheric vapor pressure, temperature, wind, and soil moisture.Evapotranspiration accounts for most of the water lost from the soilduring the growth of a plant or crop. Accurately estimatingevapotranspiration rates is an advantageous factor in not only planningirrigation schemes, but also in formulating irrigation protocols to beexecuted by a controller to efficiently use water resources.

Illustrated in FIG. 4 is an example of grass 410 and its root zone 420.Also illustrated is an example of the various soil types that may bepresent per zone, such as clay 432, silt 434, or sand 436, etc. It willbe appreciated that the landscape may be considered healthy and wateruse and conservation may be considered optimal, when the irrigation andplumbing system function or operate to replenish the water in the rootzone 420 when water is present at about 50% in the root zone 420. Thus,when water is present in the root zone 420 in an amount greater thanabout 50% then the duration of the watering for that zone is shortened.Conversely, when water is present in the root zone 420 in an amount lessthan about 50% then the duration of the watering for that zone isincreased. The objective is to replenish the soil with water in the rootzone 420 to 100% and no more to optimize and conserve the amount thewater used to maintain a healthy landscape. It will be appreciated thatany amount of water over 100% saturation in the root zone 420 leads towater runoff that is not efficiently used. Thus, it will be appreciatedthat the ability to accurately determine the amount of water present inthe soil may be advantageous for optimizing irrigation in an irrigationsystem.

FIG. 5 illustrates a front view of a controller having an annular userinput having an opening that extends through the entire width of thecontroller (or control unit portion). As can be seen in the figure, acontrol unit 510 may comprise a housing 512 and a user input 520. In animplementation of the user input 520 may have a generally circular orannular form factor that is easily manipulated by a user to input dataand to provide responses to queries. During use the user input 520 mayrevolve around an axis such that a user may rotate the dial to quicklyenter large data ranges of values by simply spinning the dial. In anembodiment the user input 510 have a cylindrical hole/opening 525 thatis coaxial with axis of rotation of the user input as illustrated in inFIG. 6. In an embodiment the user input 520 may be illuminated such thatthe opening 525 glows in an attractive and oft informative manner suchthat the illumination patterns could be employed to convey the status ofthe system. The user input 520 may be configured to correspond with thedisplay 514 such that manipulation of the user input causescorresponding changes in the display 514. The user input 520 mayprovide/receive a plurality of input movements, such as for example,rotation, speed of rotation, push and click, click duration, doubleclick, and the like.

The control unit 510 may further comprise an electronic visual display514, either digital or analog, for visually outputting information to auser. Additionally, it should be noted that an embodiment may comprise aplurality of visual outputs, and other components of the control unit510, such as the user input 520 may be configured to output visualinformation. Analog visual outputs may be provided by components such asbulbs and the like. Digital visual outputs may be provided by componentssuch as, liquid crystal displays, light emitting diodes,electro-luminescent devices, to name a few. In an embodiment, thecontrol unit 510 may further comprise an electronic audible device 516,either digital or analog, for audibly outputting information to a user.Additionally, it should be noted that an embodiment may comprise aplurality of audible outputs, and other components of the control unit510 may be configured to output audible information. Analog audibleoutputs may be provided by components such as speakers, mechanicalclicks, etc. Digital audible outputs may be provided by components suchas, piezo-electric circuits and speakers. It should also be appreciatedthat the housing 12 may be configured to be substantially weatherresistant such that it can be installed and used outdoors. It will beappreciated that the controller 510 may be electronically and directlyconnected to a plumbing system, such as an irrigation sprinkler system,that may have at least one electronically actuated control valve forcontrolling the flow of water through the plumbing system. Additionally,the controller 510 may be configured for sending actuation signals tothe at least one control valve thereby controlling water flow throughthe plumbing system in an efficient and elegant manner to effectivelyconserve water while maintaining aesthetically pleasing or healthylandscapes. It should be understood that in an implementation, thecontroller 510 may further comprise memory for recording irrigationiteration data for a plurality of iterations after a plurality ofirrigation protocols have been executed. In an implementation, thecontroller 510 of a system and method may further record irrigationiteration data into memory in case communication with an irrigationserver is interrupted.

FIG. 6 illustrates a first side view of a controller 510 showing thecoaxial relationship of the axis of rotation of the annular user input520 with the opening 520. As can be seen in the figure, an axis ofrotation 555 corresponding to the annular user input 520 is coaxial withthe cylindrical opening 525 that is illustrated with phantom lines. Itwill be appreciated that the opening may have an opening that is notcylindrical in shape. Whatever shape is chosen for the opening may havean axis of rotation such that it can be aligned with the axis ofrotation of the user input.

FIG. 7 illustrates a second side view of a controller also illustratingfrom the opposite side the axis 555 of rotation of the user input 520 iscoaxial with the axis of the cylindrical opening 525.

FIG. 8 It will be appreciated that implementations of the disclosure maycomprise or utilize a special purpose or general-purpose computer,including computer hardware, such as, for example, one or moreprocessors and system memory as discussed in greater detail below.Implementations within the scope of the disclosure also include physicaland other computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmission media can include a network and/or data links,which can be used to carry desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media to computerstorage media (devices) (or vice-versa). For example,computer-executable instructions or data structures received over anetwork or data link can be buffered in RAM within a network interfacemodule (e.g., a “NIC”), and then eventually transferred to computersystem RAM and/or to less volatile computer storage media (devices) at acomputer system. RAM can also include solid-state drives (SSDs or PCIxbased real time memory tiered storage, such as FusionIO). Thus, itshould be understood that computer storage media (devices) can beincluded in computer system components that also (or even primarily)utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata, which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, various storage devices,commodity hardware, commodity computers, and the like. The disclosuremay also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules may be located in bothlocal and remote memory storage devices.

Implementations of the disclosure can also be used in cloud computingenvironments. In this description and the following claims, “cloudcomputing” is defined as a model for enabling ubiquitous, convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, servers, storage, applications, and services)that can be rapidly provisioned via virtualization and released withminimal management effort or service provider interaction, and thenscaled accordingly. A cloud model can be composed of variouscharacteristics (e.g., on-demand self-service, broad network access,resource pooling, rapid elasticity, measured service, or any suitablecharacteristic now known to those of ordinary skill in the field, orlater discovered), service models (e.g., Software as a Service (SaaS),Platform as a Service (PaaS), Infrastructure as a Service (IaaS)), anddeployment models (e.g., private cloud, community cloud, public cloud,hybrid cloud, or any suitable service type model now known to those ofordinary skill in the field, or later discovered). Databases and serversdescribed with respect to the disclosure can be included in a cloudmodel.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the following description and claims to refer to particularsystem components. As one skilled in the art will appreciate, componentsmay be referred to by different names. This document does not intend todistinguish between components that differ in name, but not function.

Referring now to FIG. 8, a block diagram of an example computing device900 such as a controller/control unit is illustrated. Computing device900 may be used to perform various procedures, such as those discussedherein. Computing device 900 can function as a server, a client, or anyother computing entity. Computing device 900 can perform variousmonitoring functions as discussed herein, and can execute one or moreapplication programs, such as the application programs described herein.Computing device 900 can be any of a wide variety of computing devices,such as a desktop computer, a notebook computer, a server computer, ahandheld computer, tablet computer and the like.

Computing device 900 includes one or more processor(s) 902, one or morememory device(s) 904, one or more interface(s) 906, one or more massstorage device(s) 908, one or more Input/Output (I/O) device(s) 910, anda display device 930 all of which are coupled to a bus 912. Processor(s)902 include one or more processors or controllers that executeinstructions stored in memory device(s) 904 and/or mass storagedevice(s) 908. Processor(s) 902 may also include various types ofcomputer-readable media, such as cache memory.

Memory device(s) 904 include various computer-readable media, such asvolatile memory (e.g., random access memory (RAM) 914) and/ornonvolatile memory (e.g., read-only memory (ROM) 916). Memory device(s)904 may also include rewritable ROM, such as Flash memory.

Mass storage device(s) 908 include various computer readable media, suchas magnetic tapes, magnetic disks, optical disks, solid-state memory(e.g., Flash memory), and so forth. As shown in FIG. 8, a particularmass storage device is a hard disk drive 924. Various drives may also beincluded in mass storage device(s) 908 to enable reading from and/orwriting to the various computer readable media. Mass storage device(s)908 include removable media 926 and/or non-removable media.

I/O device(s) 910 include various devices that allow data and/or otherinformation to be input to or retrieved from computing device 900.Example I/O device(s) 910 include cursor control devices, keyboards,keypads, microphones, monitors or other display devices, speakers,printers, network interface cards, modems, annular jog dials, and thelike.

Display device 930 includes any type of device capable of displayinginformation to one or more users of computing device 900. Examples ofdisplay device 930 include a monitor, display terminal, video projectiondevice, and the like.

Interface(s) 906 include various interfaces that allow computing device900 to interact with other systems, devices, or computing environments.Example interface(s) 906 may include any number of different networkinterfaces 920, such as interfaces to local area networks (LANs), widearea networks (WANs), wireless networks, and the Internet. Otherinterface(s) include user interface 918 and peripheral device interface922. The interface(s) 906 may also include one or more user interfaceelements 918. The interface(s) 906 may also include one or moreperipheral interfaces such as interfaces for printers, pointing devices(mice, track pad, or any suitable user interface now known to those ofordinary skill in the field, or later discovered), keyboards, and thelike.

Additionally, Bus 912 may allow sensors 911 to communicate with othercomputing components. Sensors may alternatively communicate throughother components, such as I/O devices and various peripheral interfaces.

Bus 912 allows processor(s) 902, memory device(s) 904, interface(s) 906,mass storage device(s) 908, and I/O device(s) 910 to communicate withone another, as well as other devices or components coupled to bus 912.Bus 912 represents one or more of several types of bus structures, suchas a system bus, PCI bus, IEEE 1394 bus, USB bus, and so forth.

For purposes of illustration, programs and other executable programcomponents are shown herein as discrete blocks, although it isunderstood that such programs and components may reside at various timesin different storage components of computing device 900, and areexecuted by processor(s) 902. Alternatively, the systems and proceduresdescribed herein can be implemented in hardware, or a combination ofhardware, software, and/or firmware. For example, one or moreapplication specific integrated circuits (ASICs) can be programmed tocarry out one or more of the systems and procedures described herein.

FIG. 9 illustrates an embodiment of a controller that comprises acontrol unit portion and an irrigation adaptor portion. In anembodiment, the controller may comprise a plurality of portions whereinthe control unit 1011 is configured to be stacked on to the irrigationadaptor 1012 such that the control unit electronic connector (not shown)of the control unit mates with a corresponding electronic connector(shown in FIGS. 10 and 11) of the irrigation adaptor.

As illustrated, the current embodiment of a controller 1000 may comprisea control unit 1010 for interfacing with users and networks, and anirrigation adaptor 1012 for electronically actuating irrigationcomponents. As discussed above, a control unit 1010 may comprise ahousing 1011 and a user input 1020. In an implementation the user inputmay have a generally circular or annular form factor that is easilymanipulated by a user to input data and to provide responses to queries.As will be discussed in more detail below, the user input mayprovide/receive a plurality of input movements, such as for example,rotation, speed of rotation, push and click, click duration, doubleclick, and the like. The control unit 1010 may further comprise anelectronic visual display 1014, either digital or analog, for visuallyoutputting information to a user. Additionally, it should be noted thatan embodiment may comprise a plurality of visual outputs, and othercomponents of the control unit 1010, such as the user input 1020 may beconfigured to output visual information. Analog visual outputs may beprovided by components such as bulbs and the like. Digital visualoutputs may be provided by components such as, liquid crystal displays,light emitting diodes, electro-luminescent devices, to name a few. In anembodiment, the control unit 1010 may further comprise an electronicaudible device 1016, either digital or analog, for audibly outputtinginformation to a user. Additionally, it should be noted that anembodiment may comprise a plurality of audible outputs, and othercomponents of the control unit 1010 may be configured to output audibleinformation. Analog audible outputs may be provided by components suchas speakers, mechanical clicks, etc. Digital audible outputs may beprovided by components such as, piezo-electric circuits and speakers. Itshould also be appreciated that the housing 1011 may be configured to besubstantially weather resistant such that it can be installed and usedoutdoors. It will be appreciated that the controller 1010 may beelectronically and directly connected to a plumbing system, such as anirrigation sprinkler system, that may have at least one electronicallyactuated control valve for controlling the flow of water through theplumbing system. Additionally, the control unit 1010 may be configuredfor sending actuation signals to the at least one control valve therebycontrolling water flow through the plumbing system in an efficient andelegant manner to effectively conserve water while maintainingaesthetically pleasing or healthy landscapes. It should be understoodthat in an implementation, the controller 1010 may further comprisememory for recording irrigation iteration data for a plurality ofiterations after a plurality of irrigation protocols have been executed.In an implementation, the controller 1010 of a system and method mayfurther record irrigation iteration data into memory in casecommunication with an irrigation server is interrupted.

In the present embodiment, the control unit 1010 may communicate withthe adaptor 1012 through and electronic connector in a stackedconfiguration. As can be seen in the figure, adaptor 1012 may comprisean adaptor housing 1021 for protecting inside components. Electronicaccess to internal components of the adaptor 1012 may be provided by awire access port 1023 whereby wire may carry electric actuation signalsfrom the adaptor to operable components of an irrigation system, such assolenoids through the housing (as illustrated further in FIG. 13).

In an embodiment, an irrigation adaptor may comprise analog audibleoutputs may be provided by components such as speakers, mechanicalclicks, etc. Digital audible outputs may be provided by components suchas, piezo-electric circuits and speakers. It should also be appreciatedthat the housing 1011 may be configured to be substantially weatherresistant such that it can be installed and used outdoors.

In an embodiment, an irrigation adaptor may comprise wirelesscommunication interfaces for communication with other components suchas, sprinklers, drippers, control units, and servers.

FIG. 10 illustrates an embodiment wherein the adaptor 1012 and controlunit 1010 are configured to be stacked such the back side of the controlunit mates with the front side of the adaptor 1012. In animplementation, a back side of the adaptor 1012 may be mounted to asubstantially vertical surface, such as a wall, and wired to operablecomponents of an irrigation system, such as solenoids. In furtherance ofthe stacked configuration, the back side of a control unit 1010 may bemated with the front side of the adaptor 1012, both mechanically andelectrically to complete to complete the controller 1000 in a stackedconfiguration. Accordingly, it should be noted that in such aconfiguration the control unit 1010 is mounted to the vertical surfacevia the adaptor 1012.

As can be seen in FIGS. 10 and 11, an embodiment of the adaptor 1012 maycomprise attachment structures 1055 that correspond to complimentarycontrol unit attachment structures 1065 (of FIG. 11). The attachmentsmay be configured with known or yet to be discovered attachmentstructures such as protrusions, male-female structures, and commonfasteners. For example, the attachment structures may comprise male andfemale portions that interact and mate mechanically in a detachablemanner allowing for expansion of the system and maintenance. Magnets maybe used for physically connecting a control unit to an adaptor. Otherexamples could be all manner of fasteners such as screws, bolts, nails,and the like.

Additionally, in an embodiment the control unit 1010 is in electroniccommunication with the irrigation adaptor 1012 through an electronicconnector. As can be seen in the figures the adaptor 1012 may comprise afirst half of an electronic connector 1060 while the control unit 1010comprises a corresponding second half of an electronic connector 1070.In a stacked embodiment, for example, the attachment structures 1055,1065 may be configured so as to cause the alignment of the first andsecond halves of the electronic connectors 1060, 1070. Connectorcombinations may include male and female, biased compression, andfriction configurations to provide secure electronic communications. Forexample, the control unit 1010 may comprise a male electronic connector1070 (as shown in FIG. 11) that corresponds with a female electronicconnector 1060 (as best shown in FIG. 10).

It should be appreciated that in some embodiments the irrigation adaptorand the control unit may communicate wirelessly with each other.

FIG. 12 illustrates an exploded view of an embodiment of an irrigationadaptor in greater detail for use a corresponding control unit. Itshould be understood that in some implementations an irrigation adaptormay replace an already installed standard sprinkler controller, and assuch, the irrigation adaptor will comprise terminals and poweringcontrol similar to the sprinkler controller it replaces. Additionally,an irrigation adaptor may also be referred to as a wall unit as it maytypically be mounted to a wall upon installation. As can be seen in thefigure, an irrigation adaptor 1210 may comprise a housing 1211 forsubstantially inclosing the internal components that may work best whenprotected from the environment. The housing 1211 may comprise a backplate 1213 configured to aid in inclosing the internal components andmay be further configured for mounting to various surfaces. In anembodiment, the irrigation adaptor 1210 may comprise a circuit board1215 for electronically connecting the electrical components of theadaptor 1210. The circuit board 1215 may comprise a bus like structurefor enabling the electronic communication among components connected tothe circuit board 1215. The irrigation adaptor 1210 may compriseterminals 1220 for receiving wiring therein. As discussed above, anelectronic connector 1233 may be included on the circuit board 1215 soas to provide electronic communication connections between the terminals1220 and a corresponding control unit (not pictured), thereby providingoptimized control of irrigation components that control the flow ofwater.

As seen in the figure, an embodiment of an irrigation adaptor 1210 mayfurther comprise a membrane layer 1235 for providing weather resistance.It should be understood that the membrane layer may comprise openingstherein for allowing wires, mechanical connections, and electricalconnections there through. In some embodiments, a plurality of membranesmay be used. As can be seen in the figure, a wire port 1240 may comprisea membrane therein to provide some weather resistance where theirrigation system wires (illustrated in FIG. 13) enter the irrigationadaptor 1210.

In an embodiment, an irrigation adaptor may have a wire port on the backsurface of the irrigation adaptor housing in order to hide the entry ofwires. It will be appreciated that it is within the scope of thisdisclosure to include ports on any side of the adaptor depending on theimmediate needs of the installation.

FIG. 13 illustrates one implementation of an irrigation adaptor and itsschematic connections to various operational components of an irrigationsystem. As illustrated in the figure, the irrigation adaptor 1310 may beelectronically connected to solenoids within an irrigation system viawires A,B,C,D that connect four solenoids 1380, 1381, 1382, 1383 to theadaptor's terminals 1320, 1321, 1322, 1323 respectively. As can be seenin the figure, the wires A,B,C,D are physically connected at one end tothe solenoids 1380, 1381, 1382, 1383, and then pass through wire port1340, then pass through membrane openings 1360,1361,1362,1363 andfinally connect to terminals 1320, 1321, 1322, 1323. In thisimplementation the terminals 1320, 1321, 1322, 1323 are electricallyconnected to an electronic connecter 1333 that is configured tocorrespond to an electronic connector on the back of a control unit. Theabove discussed connectivity allows a control unit to control componentsof an irrigation system through an irrigation adaptor 1310.

FIG. 14 illustrates an exploded view implementation of a controller1400. As can be seen in the figure, the controller 1400 may comprise acontrol unit 1420, which may comprise a plurality of components, and anirrigation adaptor 1412 that itself comprises a plurality of components.As illustrated, the various components of the control unit 1410correspond and align with the various components of the irrigationadaptor 1412. Such a configuration allows the controller system to beseparated in to self-contained modules that may be stacked and assembledin various configurations to suit various scenarios of use.

Illustrated in FIG. 15 is an exploded detailed view of a user input1600. As can be seen in the figure a user input 1600 may comprise aplurality of coaxial aligned components. An implementation may comprisea contact ring 1615 that is configured to be in contact with a user'shand during use. An implementation may further comprise a position ring1617 that aids in the incremental digitalization of a user's input asdiscussed below. An embodiment may comprise a light tube 1620 and lightdiffuser 1655 the work together to transmit and control the quality ofillumination from an internal light sources or plurality of lightsources.

In an embodiment, an annular user input may be configured to interactwith a user and the display to receive user input thereby, and whereinthe annular user input defines a circular opening that passes throughthe annular input and the housing; and wherein the annular user inputand the circular opening are coaxial such that annular user inputrotates about an axis of the circular opening. In use, the opening (1419of FIG. 14) in the annular user input would allow the illumination fromthe user input to attractively illuminate the surface that thecontroller is attached to.

Additionally, the annular user input may further comprise a float ringthat is configure to provide consistent movement of the user input andto provide selection protrusions thereon to aid users in makingselections with the annular user input 1600 as discussed in more detailbelow. It will be appreciated that an embodiment may provide a user withthe ability to click, double-click, and click-hold in order to selectinput values.

Illustrated in FIG. 16 is an exploded view of the working components ofan annular user input as it interacts with a circuit board housed withina control unit. The circuit board 1650 may comprise a single substratesupporting a plurality of light emitting diodes and at least onepositions sensing circuit. As discussed above, the light emitting diodes1660 may provide light to the annular user input to provide ease of useand visual cues. The user input may comprise a light tube 1620 forcollecting the light of the LEDs 1660. A diffuser ring 1655 may beemployed to evenly distribute the light from the LEDs. The user inputmay comprise a position ring 1616 having a plurality of evenly placeprotrusions 1617 thereon that correspond to the positions sensor 1666 todetect the rotation of the position ring 1616 in order to digitize auser's desired information for storage in computer memory within thesystem (illustrated in further detail in FIG. 17). The user input mayalso comprise a float ring 1630 that provides smooth and consistentoperation of the user input by producing predictable friction and evenspacing during operation. Additionally, the float ring 1630 may compriseselection protrusions 1635 thereon for actuating receptors on thecircuit board 1650 when a user pushes the user input to make aselection. It should be appreciated that a float ring 1630 may comprisea plurality of selection protrusions 1635 in order to provide consistentselection operation throughout the entire circumference of the annularuser input.

FIG. 17 illustrates a detailed view of position ring 1616. As can beseen in the figure, incremental protrusions 1617 are separated by gaps Gso that as the ring is rotated an sensor 1666 can sense the order inwhich a plurality of emitted beams of electromagnetic energy EE arereflected by the protrusions 1617 (or allowed to pass through the gapsG) as the user input is rotated. Supporting circuitry may count theincrementally returned energy EE so as to digitize a user's input foruse by the computing components of the controller and system.

Referring now to FIG. 18, there is illustrated an implementation pairingbetween a user's control unit and an account, such as a web account.FIG. 18 illustrates, a method for initiation of an irrigationoptimization system having the features of the disclosure. The method400, may initiate at 410 by determining the language the user will usein interacting with the system. The user selection will be recorded intocomputer memory on the system. At 420, the geo graphical location of theuser may then be determined, and at 430 the geographical location may befurther refined more specific questions. Once the location has beenestablished, the system may then establish connectivity with a cloudnetwork.

At 450, the network connectivity may be skipped and at 451 a user may beasked to manually set up a watering protocol by responding to questionsfrom the control panel. At 452, a watering protocol of instructions willbe generated and at 469 irrigation may begin automatically.

Alternatively, a user may be presented with available Wi-Fi connectionoptions and may choose the desired connection, or at 470 a user mayenter custom network settings. Once connected to the network cloud, at465 the control panel may be paired with an online account previously(or concurrently) set up through a web interface.

At 467, a watering protocol may be generated and transmitted through thecloud to the paired controller, wherein the watering instruction areformulated from user responses to quires output from the system throughthe web account or through the control panel user interface. At 469, thesystem may begin the watering protocol that has been received from thecloud network.

FIG. 19 illustrates a method of initiating a smart irrigation systemcomprising specific logic when initializing a new control panel. After acontrol panel has been wired to a plurality of control valves, theuser/customer may be lead through a series of quires by a control panelinterface. In order to initialize the interface and language ofcommunication may be selected at 501. Next at 503 the user may beprompted to select the country in which they and the property to bewatered resides, and the user may be prompted for further refinement oflocation at 505.

At 507, the user may be prompted to set up a connection to a cloudnetwork through a Wi-Fi internet connection. At 509, the user may beprompted to choose whether or not connect to the cloud or run theirrigation system manually from the control panel.

If the user decides not to connect to the internet, at 515 the user willbe prompted to enter data in manually, such as data and time. At 517 theuser may be prompted to manually select or enter an irrigation intervalor days to water. If the user chooses to enter an interval, at 519 theuser will be prompted to enter the interval. Alternatively, if the useselects to irrigate according to days, at 521 the user will be promptedto enter the days for irrigation. It should be noted that in animplementation the user may be able to select both irrigation days andirrigation intervals.

At 523, the user will be prompted to enter a duration and/or day foreach of the zones controlled by the control panel. At 509, if the userhad chosen connect to a network the user would be prompted to selectfrom available networks at 510, or enter security information for acustom network at 512. At 514, the user may be prompted for a password.At 516 if the password fails the user will be redirected to 510 or 512to retry the network security information. At 516, if connecting to theinternet is successful, at 525 a pairing request will be sent to thecontrol panel that will pair a cloud base web account to the controlpanel. Additionally, at 527 pairing codes may be established for aplurality of computing devices comprising: additional controllers,mobile devices, computers, etc.

FIG. 20 illustrates an embodiment of an irrigation controller thatcomprises a stacked control unit 2012, expansion module 2015, andirrigation adaptor 2013. As can be seen in the figure, the expansionmodule 2015 may provide the additional functionality of controlling moreirrigation zones. For example, an irrigation adaptor 2013 may controlone or more zones, such as a plurality of irrigation zones. As aspecific example illustrated in FIG. 20, the irrigation adaptor 2013 maycontrol irrigation zone 1, zone 2, and zone 3. In order to providecontrol over one or more additional zones, an expansion module 2015 maybe provided that is electronically connected to additional operableirrigation components that irrigate additional zones, which may not becontrolled by the irrigation adaptor 2013. In the example illustrated inFIG. 20, the expansion module 2015 controls zone 4 and zone 5. As shownin the figure, wires connecting the irrigation components may physicallypass through wire ports 2023 and 2043 disposed in a housing wall of theirrigation adaptor 2013 and expansion module 2015, respectively.

In an embodiment, the expansion module may provide connectivity ofadditional system components, such as various sensing abilities throughthe connection of flow sensors, temperature sensors, moister sensors,light sensors, wind sensors and the like.

In an embodiment, the expansion module may provide communication andcontrol functionality such as wireless control of remotely placedirrigation components.

As can be seen in FIG. 21, an embodiment of the expansion module 2115may comprise attachment structures 2155 that correspond to complimentaryattachment structures on the control unit 2112 and adaptor 2113. Theattachments may be configured with known or yet to be discoveredattachment structures such as protrusions, male-female structures, andcommon fasteners. For example, the attachment structures may comprisemale and female portions that interact and mate mechanically in adetachable manner allowing for expansion and maintenance of the system.Magnets may be used for physically connecting a control unit to anadaptor. Other examples could be all manner of fasteners such as screws,bolts, nails, and the like.

Additionally, in an embodiment the control unit 2112 may be inelectronic communication and mechanical communication with theirrigation adaptor 2113 through an expansion module 2115. As can be seenin the figure, the adaptor 2113 may comprise one half of an electronicconnector 2160 and the control unit 2112 may comprise a correspondingone half of an electronic connector 2170 (show schematically in phantomlines) that both electronically connect to corresponding electronicconnector halves on opposing faces of the expansion module 2115.

In a stacked embodiment, for example, the attachment structures 2155,2165 may be configured so as to cause the alignment of the first andsecond halves of the electronic connectors. Connector combinations mayinclude male and female connectors, biased-compression connectors, andfriction connector configurations to provide secure electroniccommunications. For example, the control unit 2112 may comprise a maleelectronic connector 2170 (as shown in phantom lines) that correspondswith a female electronic connector 2175 of the expansion module 2115.Likewise, the control unit 2112 may be mechanically connected to theexpansion module 2115 in order to complete an expanded controller.

FIG. 22 illustrates a method for developing a protocol for newly addedirrigation components that are controllable by a control unit. Asillustrated in the figure a method for the detection of added operableirrigation components at system start-up may comprise a process ofpowering on an irrigation system having added operable irrigationcomponents that are in electronic communication with an irrigationcontroller at 2210. In an implementation, the irrigation controller maybe configured for use as a component of a computer network. Theirrigation controller may comprise a control unit and an irrigationadapter. It will be appreciated that the adapter may be configured toactuate operable irrigation components that operate according toinstructions issued from the control unit. Additionally, the method maycomprise retrieving a baseline configuration from computer memory at2220. The baseline configuration may comprise the components that havepreviously been installed within a system. At 2230, the method mayfurther comprise sensing a new attached operable irrigation component.The sensing process may comprise receiving self-identifying informationfrom the newly installed components or may be derived by sensing variouselectrical characteristics of the system such as current draw,resistance, inductance, impedance, etc., as electrical current flowsthrough the system.

In an implementation, sensing the current draw may comprise comparingthe value of the current draw to an operational threshold/windowcomparator. If the value of the current draw falls within apredetermined threshold or window then there is an operable componentattached to the system and is useable by the system. At that point, thesystem may go through a setup process described herein above. Forexample, it will be appreciated that when a current voltage is sentacross a sense resistor the result is compared to two other presetvoltages that define the thresholds/window of operation. If the value ofthe current voltage falls outside of the thresholds/window then there iseither no new operable component or there is a faulty operable componentattached to the system.

At 2240, the method may further include the process of comparing thenew, sensed irrigation component to the baseline configurationcomprising any previously attached components in order to discover thenew components.

At 2250, the method may further comprise establishing a new baselineconfiguration that includes the newly attached irrigation component.Once the new baseline configuration is established then the newconfiguration may be stored in memory for later use when adding newcomponents or for performing future iterations as when additionaloperable components are discovered or installed.

Illustrated in FIG. 23 is a method for developing a protocol for newlyadded irrigation components using a lookup table and user selectionprocess. As illustrated in the figure, a method for the detection ofadded operable irrigation components at system startup may comprise aprocess of powering on an irrigation system having added operableirrigation components that are in electronic communication with anirrigation controller at 2310. In an implementation, the irrigationcontroller may be configured for use as a component of a computernetwork. The irrigation controller may comprise a control unit and anirrigation adapter. The adapter may be configured to actuate operableirrigation components that operate according to instructions issued fromthe control unit. Additionally, the method may comprise retrieving abaseline configuration from computer memory at 2320. The baselineconfiguration may comprise the components that have previously beeninstalled within a system, such as within an irrigation system discussedherein. At 2330, the method may further comprise sensing a new attachedoperable irrigation component. The sensing process may comprisereceiving self-identifying information from the newly installedcomponents or may be derived by sensing various electricalcharacteristics of the system such as current draw, resistance,inductance, impedance, etc., as electrical current flows through thesystem.

In an implementation, sensing the current draw may comprise comparingthe value of the current draw to an operational threshold/windowcomparator. If the value of the current draw falls within apredetermined threshold or window then there is an operable componentattached to the system and is useable by the system. At that point, thesystem may go through a setup process described herein above. Forexample, it will be appreciated that when a current voltage is sentacross a sense resistor the result is compared to two other presetvoltages that define the thresholds/window of operation. If the value ofthe current voltage falls outside of the thresholds/window then there iseither no new operable component or there is a faulty operable componentattached to the system.

At 2340, the method may further include the process of comparing the newsensed irrigation component to a baseline configuration comprising anypreviously attached components in order to discover the new components.

At 2350, the method may further comprise establishing a new baselineconfiguration that includes the newly attached irrigation component andthen storing the new configuration in memory for later use when addingnew components or for performing future iterations as additionaloperable components are discovered.

At 2360, the method may further comprise storing the new baseline inmemory. At 2362, the method may further comprise retrieving a lookuptable from memory that comprises data relating to possible operableirrigating components. The lookup table may be periodically downloadedover a network so as to contain updated information. The lookup tablemay comprise identifying information for components such as identifiersand electrical properties such as current draw, resistance, impedance,etc.

At 2370, a plurality of possible new operable irrigation components is agroup may be output to a user so that the user may select the exactcomponent from the list. At 2380, the selection may be received from auser and stored in memory.

At 2390, a protocol may be generated that includes instructions for thenew operable component.

Illustrated in FIG. 24 is a method for developing a protocol for aplurality of newly added irrigation components in succession at thestartup of a system. As illustrated in the figure, a method for thedetection of added operable irrigation components at system startup maycomprise a process of powering on an irrigation system having addedoperable irrigation components that are in electronic communication withan irrigation controller at 2410. In an implementation, the irrigationcontroller may be configured for use as a component of a computernetwork, said irrigation controller comprising a control unit and anirrigation adapter. The adapter may be configured to actuate operableirrigation components that operate according to instructions issued fromthe control unit. Additionally, the method may comprise retrieving abaseline configuration from computer memory at 2420. The baselineconfiguration may comprise the components that have previously beeninstalled within a system.

At 2430, the method may further comprise sensing a new attached operableirrigation component. The sensing process may comprise receivingself-identifying information from the newly installed components or maybe derived by sensing various electrical characteristics of the systemsuch as current draw, resistance, inductance, impedance, etc., aselectrical current flows through the system.

If a plurality of new components have been attached or installed to thesystem, the following may be repeated in sequence until all the newlyadded components are accounted for as is illustrated in the figure. At2440, the method may further include the process of comparing the newsensed irrigation component or components to a baseline configurationcomprising any previously attached components in order to discover thenew component or components.

At 2450, the method may further comprise establishing a new baselineconfiguration that includes the newly attached irrigation component andthen storing the new configuration in memory for later use when addingnew components or for performing future iterations as additionaloperable components are discovered at 2460.

At 2460, the method may further comprise retrieving a lookup table frommemory that comprises data relating to possible operable irrigatingcomponents. The lookup table may be periodically downloaded over anetwork so as to contain updated information. The lookup table maycomprise identifying information for components such as identifiers andelectrical properties such as current draw, resistance, impedance, etc.

In an implementation, sensing the current draw may comprise comparingthe value of the current draw to an operational threshold/windowcomparator. If the value of the current draw falls within apredetermined threshold or window then there is an operable componentattached to the system and is useable by the system. At that point, thesystem may go through a setup process described herein above. Forexample, it will be appreciated that when a current voltage is sentacross a sense resistor the result is compared to two other presetvoltages that define the thresholds/window of operation. If the value ofthe current voltage falls outside of the thresholds/window then there iseither no new operable component or there is a faulty operable componentattached to the system.

At 2470, a plurality of possible new operable irrigation components maybe identified as a group that may be output to a user so that the usermay select the exact component from the list. At 2480, the selection maybe received from a user and stored in memory.

At 2490, a protocol may be generated that includes instructions for thenew operable component or components.

In FIGS. 25-27 various implementations of a method for automaticallydetecting faults or deviations from a baseline configuration within anirrigation system are illustrated. The method for the detection offaults in an irrigation system during operation illustrated in FIG. 25may comprise powering on or initializing an irrigation system at 2510.The irrigation system may have one or more operable irrigationcomponents. The operable irrigation components may include at least asensor, where the operable irrigation components is in electroniccommunication with an irrigation controller. It will be appreciated thatthe irrigation controller may be configured for use as a component of acomputer network, wherein the irrigation controller receives anoperating protocol or an irrigation protocol from the irrigation serverover the computer network. The irrigation controller may comprise acontrol unit and an irrigation adapter as discussed herein above. Itwill be appreciated that the adapter may be configured to actuateoperable irrigation components that operate according to instructionsissued from the control unit.

At 2520, the method may comprise retrieving a baseline configuration ofthe operable irrigation components from computer memory. At 2530, themethod may comprise actuating at least one of the operable irrigationcomponents. The method may comprise using the sensor and sensing adeviation relative to the baseline configuration of the operableirrigation components. The method may comprise identifying an operablecomponent that is responsible for the deviation from the baseline andidentifying the operable component as faulty at 2540. The senseddeviation may be recorded in computer memory at 2550. At 2560, a usermay be notified regarding the deviation in accordance with the teachingsand principles discussed herein above.

In an implementation, at 2570, the method may include stopping operationof the faulty operable component that is responsible for the deviationfrom the baseline in the current operating protocol. In animplementation, the method may comprise generating a new operatingprotocol that precludes the faulty operable component and storing thenew operating protocol in memory at 2580.

The method for the detection of faults in an irrigation system duringoperation illustrated in FIG. 26 may comprise powering on orinitializing an irrigation system at 2610. At 2620, the method maycomprise retrieving a baseline configuration of the operable irrigationcomponents from computer memory. The method may comprise actuating atleast one of the operable irrigation components. The method may compriseusing a sensor and sensing a deviation relative to the baselineconfiguration of the operable irrigation components at 2630. Identifyingan operable component that is responsible for the deviation from thebaseline and identifying the operable component as faulty at 2640. Thesensed deviation may be recorded in computer memory at 2650. At 2660, auser may be notified in accordance with the teachings and principlesdiscussed herein above regarding the deviation.

The method may further comprise including an identifier representing theoperable irrigation component responsible for the deviation in anotification to the user. At 2670, the method may include stoppingoperation of the operable irrigation component responsible for thedeviation. The method may also include other implementations, such asamending the current operating protocol so as to bypass future operationof the identified operable irrigation component that is responsible forthe deviation at 2680.

The method for the detection of faults in an irrigation system duringoperation illustrated in FIG. 27 may comprise powering on orinitializing an irrigation system at 2710. At 2720, the method maycomprise retrieving a baseline configuration of the operable irrigationcomponents from computer memory. The method may comprise actuating atleast one of the operable irrigation components. The method may compriseusing a sensor and sensing a deviation relative to the baselineconfiguration of operable irrigation components at 2730. The method mayfurther comprise identifying an operable component that is responsiblefor the deviation from the baseline and identifying the operablecomponent as faulty at 2740. The sensed deviation may be recorded incomputer memory at 2750. At 2760, a user may be notified in accordancewith the teachings and principles discussed herein above regarding thesensed deviation. At 2770, the method may further comprise identifyingthe operable irrigation component responsible for the deviation from thebaseline. The method may also comprise including an identifierrepresenting the operable irrigation component responsible for thevariation in a notification to the user. At 2780, the method may includeretrieving a lookup table from memory and identifying a normal standardof operation of the attached operable irrigation components. It will beappreciated that in an implementation the normal standard of operationmay comprise normal operating values from a plurality of iterations ofoperating the irrigation system at 2790. In an implementation, thenormal operating values may correspond to a plurality of iterations ofoperation of individual operable irrigation components at 2790.

The methods of the disclosure may further comprise suggesting a group ofidentified operable irrigation components that are responsible for thedeviation to a user and outputting the group for selection by the user.It will be appreciated that the at least one operable irrigationcomponent may be a solenoid.

A system for the detection of faults in an irrigation system duringoperation may comprise an irrigation system comprising plumbing and anirrigation controller. The irrigation system may comprise one or moreoperable irrigation components that are in electronic communication withthe irrigation controller. An irrigation server may be connected to theirrigation controller over a computer network. The irrigation controllermay receive an operating protocol from the irrigation server over thecomputer network. The irrigation controller may be configured for use asa component of the computer network.

As discussed herein above, the irrigation controller may comprise acontrol unit and an irrigation adapter. The adapter is configured toactuate the operable irrigation components that operate according toinstructions issued from the control unit. The system may furtherinclude a sensor that is in electronic communication with the irrigationcontroller and a baseline configuration of the operable irrigationcomponents. The baseline configuration may be stored in computer memory.It will be appreciated that the deviation within the irrigation systemmay be sensed by the sensor, such that a deviation relative to thebaseline configuration of the irrigation system results in the systemsending a notification to a user regarding the sensed deviationestablishing a fault or potential fault in the system. It will beappreciated that a measurable increase above or a decrease below thebaseline configuration may result in the system sending a notificationto a user regarding the sensed deviation establishing a fault in thesystem, whereas a slight or small fluctuation above or below thebaseline configuration may not.

In an implementation of the system, the operable irrigation componentsmay comprise an identifier, such that the operable irrigation componentresponsible for the deviation from the baseline configuration isidentifiable by the identifier. In an implementation of the system, asignal may be sent to the controller from the sensor when there is adeviation from the baseline configuration, such that the system may turnoff or otherwise bypass the operable irrigation component responsiblefor the deviation or fault.

In an implementation of the system, the current irrigation protocol maybe amended so as to bypass future operation of the identified operableirrigation component responsible for the deviation. In an implementationof the system, a new irrigation protocol may be generated by theirrigation server. The new irrigation protocol may preclude theoperation of the identified operable irrigation component responsiblefor the deviation. The new irrigation protocol may be stored in memoryof the controller. In an implementation, the new protocol may begenerated by the irrigation server or the controller. When the newprotocol is generated by the server, there may be electronic or networkcommunication with the irrigation server and the controller in order tosend the protocol from the irrigation server to the controller.

In an implementation of the system, the baseline configuration may be aset of standard operating values of a baseline configuration ofpreviously attached operable components. In an implementation of thesystem, the system may further comprise a lookup table that is retrievedfrom memory. The lookup table may identify a normal standard ofoperation of attached operable components. In an implementation of thesystem, the normal standard of operation comprises standard operatingvalues from a plurality of iterations of operating the irrigationsystem. In an implementation of the system, the normal standard ofoperation comprises standard operating values corresponding to aplurality of iterations of operation of individual operable components.In an implementation of the system, a group of identified operablecomponents responsible for the deviation may be suggested and output toa user for selection by the user. In an implementation of the system,the operable component is a solenoid.

It will be appreciated that a system of providing optimal irrigation inan irrigation system having a controller configured to be connected toan irrigation server over a computer network may comprise a computernetwork that itself may comprise an irrigation server and a protocolgenerator. The system may further comprise a controller. It will beappreciated that the controller may be in electronic communication withthe plumbing of the irrigation system. The controller may also be incommunication with the irrigation server over the computer network.Thus, when a communication connection between the controller and theserver is established information and data may be exchanged between theserver and the controller. For example, the server may formulate,generate and otherwise develop an irrigation protocol and/or ahistorical operational backup protocol and may send one or more of thoseprotocols to the controller.

The controller, in return, may generate a transcript or other datarelating to an iteration of the irrigation or watering event that mayhave just occurred. The transcript or other operational data may be sentfrom the controller to the irrigation server and the cloud or networkservice.

Additionally, in an implementation data may be stored and written, suchas the irrigation protocol, into computer memory of the controllerand/or server. The irrigation server may receive data reported back fromthe controller relating to an iteration of the irrigation protocol thathas been executed. The protocol generator may use the reported back datato generate a historical backup protocol. The irrigation server may sendthe historical backup protocol to the controller wherein the historicalbackup protocol may be stored or written to the computer memory of thecontroller. The controller may retrieve the historical backup protocolfrom memory and may then execute the historical protocol if or when aconnection between the irrigation server and the controller is notestablished.

In an implementation, the controller records irrigation iteration datainto computer memory after the irrigation protocol has been executed bythe controller. In an implementation, the controller records irrigationiteration data into computer memory until communication between theirrigation server and controller is reestablished. In an implementation,the controller may record irrigation iteration data for a plurality ofiterations into computer memory after a plurality of irrigationprotocols have been executed by the controller. In an implementation,the controller may record irrigation iteration data into computer memoryuntil communication between the irrigation server and controller isreestablished.

In an implementation, the irrigation server may initiate and receive oneor more notifications that may be output from the controller regardingthe connection that was not established. In an implementation, thenotification may be a visual output from the controller that operates asa visual cue to a user. In an implementation, the notification may be anaudible signal output from the controller that operates as an audio cueto a user.

The system and method may generate a first start time that may act as acalendar item to send a follow-up query or notification to the user, forexample a week later, to determine whether the user is pleased orotherwise satisfied with the health of the landscape, and if so, thesystem may reduce the amount of water a second time. The system andmethod may generate a calendar item to send a follow-up query ornotification to the user, for example a week later, to determine whetherthe user is pleased or otherwise satisfied with the health of thelandscape. If the user is satisfied, then the system may maintain thecurrent duration for that zone.

The weather information may include current weather information and maybe for a specific location that corresponds with the location of thecontroller of the plumbing system. The weather information may includedata relating to current humidity, current temperature, current solarradiation, and/or current wind speed. The weather information may alsoprovide additional data without departing from the scope of thedisclosure.

In an implementation, the irrigation server may aggregate weather datafrom a single source or from a plurality of sources. In animplementation, the system and method may comprise a user web account,wherein the user web account is paired with the controller. In animplementation, the system may further comprise a notice generator thatgenerates notifications for a user regarding events within the system,wherein the irrigation server transmits the notifications to the userprompting the user to enter data relating to the irrigation systemand/or one or more irrigation zones of the irrigation system. In animplementation, the irrigation server may electronically communicatewith the user through the web account located on a database anddisplayed using a general purpose computer, through a mobile device,and/or through the controller to send the notifications to the user.

It will be appreciated that the cloud or network service may performmany of the calculations and generate the irrigation protocols and otherinstructions that may be sent directly to the controller. Thus, it isthe cloud or network service that provides the processing via one ormore servers of the data obtained from one or more various aggregatedweather sources or databases. In an implementation, the irrigationserver may perform various computer implemented steps to utilize thecurrent weather data that is provided at a regular predeterminedinterval, such as at one hour intervals, and generate the irrigationprotocols that may be sent to the controller for actuation of theirrigation or plumbing system.

The irrigation server may electronically communicate with thecontroller. The irrigation server may also send one or more irrigationprotocols to the controller over the computer network where theirrigation protocol is written into computer memory of the controllerfor execution by the controller. In an implementation, the system andmethod may utilize a clock that may be configured for providing timestamp data to events within the system. The one or more irrigationprotocols may comprise time stamp data. Once the controller has receivedthe one or more irrigation protocols, the controller executes theirrigation protocols to thereby actuate the irrigation or plumbingsystem.

In an implementation, the system and method the irrigation server maydetermine a slope of the ground, current temperature, and/or thegeographical region type if there is no solar radiation data provided tothe protocol generator. In an implementation, the irrigation serverdetermines the slope of the ground, temperature, and/or the geographicalregion type prior to the protocol generator determining the amount ofwater needed to replenish the root zone for the given irrigation zone.

In an implementation, the system and method may further compriseinitiating a notification to a user's communication device regarding theconnection that was not established. In an implementation, the usercommunication device may be a computing device connected over a network.In an implementation, the network may comprise cellular networkfunctionality. In an implementation, the user communication device maybe a mobile device or other communication device capable of receivingnotifications from a network. In an implementation, the system andmethod may further comprise initiating and receiving a notificationoutput from the controller regarding the connection that was notestablished. It will be appreciated that in an implementation, thenotification may be a visual output from the controller. In animplementation, the notification may be an audible signal output fromthe controller. In an implementation, the system and method may furthercomprise rechecking for network connectivity between the irrigationserver and the controller.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

The foregoing description has been presented for the purposes ofillustration and description. It is not intended to be exhaustive or tolimit the disclosure to the precise form disclosed. Many modificationsand variations are possible in light of the above teaching. Further, itshould be noted that any or all of the aforementioned alternateimplementations may be used in any combination desired to formadditional hybrid implementations of the disclosure.

Further, although specific implementations of the disclosure have beendescribed and illustrated, the disclosure is not to be limited to thespecific forms or arrangements of parts so described and illustrated.The scope of the disclosure is to be defined by the claims appendedhereto, any future claims submitted here and in different applications,and their equivalents.

What is claimed is:
 1. A method for the detection of faults in anirrigation system during operation comprising: powering on an irrigationsystem having operable irrigation components that are in electroniccommunication with an irrigation controller; wherein the irrigationcontroller is configured for use as a component of a computer network,wherein the irrigation controller receives an operating protocol from anirrigation server over the computer network, said irrigation controllercomprising a control unit and an irrigation adapter wherein the adapteris configured to actuate operable irrigation components that operateaccording to instructions issued from the control unit; retrieving abaseline configuration from computer memory; sensing a deviation fromthe baseline configuration; identifying an operable component that isresponsible for the deviation from the baseline and identifying theoperable component as faulty; stopping operation of the faulty operablecomponent that is responsible for the deviation from the baseline in thecurrent operating protocol; and generating a new operating protocol thatprecludes the faulty operable component and storing the new operatingprotocol in memory.
 2. The method of claim 1, wherein sensing thedeviation from the baseline configuration comprises sensing a currentdraw.
 3. The method of claim 1, wherein the baseline configuration is aset of current draw values of operable components that are attached tothe system.
 4. The method of claim 1, wherein the method furthercomprises identifying faulty operable components individually.
 5. Themethod of claim 1, wherein sensing a deviation comprises sensing anincrease that is above a predetermined threshold in the irrigationsystem as compared to the baseline configuration.
 6. The method of claim1, wherein the method further comprises retrieving a lookup table frommemory and identifying a normal standard of operation of attachedoperable components.
 7. The method of claim 6, wherein the normalstandard of operation comprises current usage values.
 8. The method ofclaim 6, wherein the normal standard of operation comprises valuescorresponding to operation of operable components.
 9. The method ofclaim 1, wherein the method further comprises suggesting a group ofidentified operable components for selection by a user to remove thefaulty operable component from the system.
 10. The method of claim 1,wherein the operable component is a solenoid.
 11. The method of claim 1,wherein the operable component is a sensor.
 12. The method of claim 1,wherein the operable component is an expansion module.
 13. The method ofclaim 1, wherein the method further comprises identifying subsequentfaulty components.
 14. The method claim 1, wherein generating the newoperating protocol comprises communication with a supporting irrigationprotocol server.
 15. A system for the detection of faults in anirrigation system during operation comprising: an irrigation systemcomprising plumbing and an irrigation controller, wherein the irrigationsystem comprises operable irrigation components that are in electroniccommunication with the irrigation controller; an irrigation serverconnected to the irrigation controller over a computer network, whereinthe irrigation controller receives an operating protocol from theirrigation server over the computer network, wherein the irrigationcontroller is configured for use as a component of the computer network;wherein said irrigation controller comprises a control unit and anirrigation adapter, wherein the adapter is configured to actuate theoperable irrigation components that operate according to instructionsissued from the control unit; a sensor that is in electroniccommunication with the irrigation controller; a baseline configurationof the operable irrigation components that is stored in computer memory,wherein a deviation from the baseline configuration within theirrigation system is sensed by the sensor, such that a measurableincrease above or a decrease below baseline configuration results in thesystem sending a notification to a user regarding the sensed deviationestablishing a fault in the system; and a new operating protocol that isgenerated by the irrigation server that precludes the operation of theidentified operable irrigation component responsible for the deviationand storing the new protocol in memory of the controller.
 16. The systemof claim 15, wherein the operable irrigation components comprise anidentifier such that the operable irrigation component responsible forthe deviation from the baseline configuration is identifiable by theidentifier.
 17. The system of claim 15, wherein a signal is sent to thecontroller from the sensor when there is a deviation from the baselineconfiguration turning off the operable irrigation component that isresponsible for the deviation.
 18. The system of claim 15, wherein thecurrent operating protocol is amended so as to bypass future operationof the identified operable irrigation component responsible for thefault.
 19. The system of claim 15, wherein the baseline configuration isa set of values of a baseline configuration of previously attachedoperable components.
 20. The system of claim 15, wherein the systemfurther comprises a lookup table that is retrieved from memory thatidentifies a normal standard of operation of attached operablecomponents.
 21. The system of claim 20, wherein the normal standard ofoperation comprises normal operating values from a plurality ofiterations of operating the irrigation system.
 22. The system of claim20, wherein the normal standard of operation comprises normal operatingvalues corresponding to a plurality of iterations of operation ofindividual operable components.
 23. The system of claim 15, wherein agroup of identified operable components responsible for the deviation issuggested and output to a user for selection by the user.
 24. The systemof claim 15, wherein the operable component is a solenoid.
 25. Thesystem claim 15, wherein the new protocol is generated by communicationwith the irrigation server.